1. Field of the Invention
The present invention is related to digital color image reproduction systems and more particularly to color calibration of such systems. Typically such systems include an input device such as a scanner for scanning a color image and for producing scanner color signals representing that image, an output device such as a printer for reproducing the color image, and a digital image processor for transforming the scanner color signals into printer color signals. In particular, the present invention relates to a system and method for improving reproduction quality when a scanner and printer are combined to form a copy unit. The present invention also relates to a software program for implementing the method for improving copy quality and media on which the program is recorded or carried.
2. Description of the Related Art
The generation of color documents can be thought of as a two step process: first, the generation of the image by scanning an original document with a color image input terminal or scanner or, alternatively, creating a color image on a work station operated with a color image creation program; and secondly, printing of that image with a color printer in accordance with the colors defined by the scanner or computer generated image.
Each color peripheral device such as a color scanner or a color printer uses a device-dependent color-coordinate system to specify colors. These coordinates are often specified in some color space that is most suitable for mapping the color coordinates to the color-generation mechanism of the device. The term color space refers to an N-dimensional space in which each point in the space corresponds to a color. For example, an RGB color space refers to a three-dimensional device color space in which each point in the color space is formed by additive amounts of red (R), green (G) and blue (B) colorants. Scanner output is commonly transformed to a color space of tristimulus values, i.e., RGB (red-green-blue). Commonly, these values are a linear transformation of the standard XYZ coordinates of CIE color space, or a corrected transform of those values.
In the case of computer generated images, color defined by the user at the user interface of a workstation can be defined initially in a standard color space of tristimulus values. These colors are defined independently of any particular device, and accordingly reference is made to the information as being xe2x80x9cdevice independentxe2x80x9d.
Printers commonly have an output which can be defined as existing in a color space called CMYK (cyan-magenta-yellow-key or black) which is uniquely defined for the printer by its capabilities and colorants, i.e. it is a device-dependent color space. Printers operate by the addition of multiple layers of ink or colorant in layers on a page. The response of the printer tends to be relatively non-linear. These colors are defined for a particular device, and accordingly reference is made to the information as being xe2x80x9cdevice dependentxe2x80x9d. Thus, while a printer receives information in a device independent color space, it must convert that information to print in a device dependent color space, which reflects the gamut or possible range of colors of the printer. Printers and other image rendering devices may use more or less than the above-mentioned 4 color channels (i.e., c, m, y, and k) to represent color.
There are many methods of conversion between color spaces, all of which begin with the measurement of printer (or scanner) response to certain input values (or colors). Commonly, a printer is driven with a set of input values reflecting color samples throughout the printer gamut, and the color samples are printed in normal operation of the printer. As previously noted, most printers have non-linear response characteristics.
The information derived is typically placed into three-dimensional look up tables (LUTs) stored in a memory, such as a read-only-memory (ROM) or random-access-memory (RAM). The look up table relates input color space to output color space. The look up table is commonly a three dimensional table since color is defined with three variables. The three variables used to index the LUT correspond to tristimulus values that may represent RGB or a standard color space such as CIE XYZ. RGB space, e.g. for a scanner or computer, is typically defined as three dimensional with black at the origin of a three dimensional coordinate system 0, 0, 0, and white at the maximum of a three dimensional coordinate system. For example, for a 24-bit color system (8-bits/color), white would be located at 255, 255, 255. Each of the three axes radiating from the origin point therefore respectively define red, green, and blue. In the 24-bit system suggested, there will be, however, over 16 million possible colors (2563). There are clearly too many values for a 1:1 mapping of RGB to CMYK. Therefore, the look up tables consist of a set of values which could be said to be the intersections (lattice points, nodes, etc.) for corners of a set of cubes mounted on top of one another. Colors falling within each cubic volume can be interpolated from the nodes forming the cube, through many methods including tri-linear interpolation, tetrahedral interpolation, polynomial interpolation, linear interpolation, and any other interpolation method depending on the desired accuracy of the result, behavior of the function being sampled, and computational cost.
It would be very easy to index (map) device dependent color values or specifications to device independent color values, but that is not what is required. Rather, device independent specifications (i.e. colors specified in a device independent color space) must be mapped to device dependent specifications (i.e. corresponding colors in the device dependent color space). Several problems arise. Of course, the primary problem is that the printer response is not a linear response, and the inverse mapping function may not be unique especially when the dimensions of the input and output color spaces are different. A second problem is that the color space, and therefore the coordinates defined in the color space must be maintained as a uniform grid for maximum efficiency of some interpolation methods.
Accordingly, a multidimensional look up table (LUT) may be constructed which puts device independent input values into a predictable grid pattern. One method of accomplishing this requirement is by an interpolation process referred to as weighted averaging and another method is inverse tetrahedral interpolation.
The technique or method for producing the LUT is selected according the best result that can be obtained for the particular device. For example in a particular printer it may be found that the weighted averaging technique produced a table which gave good color reproduction in one region of color space (the light colors), but not in another (the dark colors). The tetrahedral inversion technique may produce just the complement of this, i.e., it may give good color reproduction where the weighted average technique did not (the dark colors), and give poorer color reproduction of colors where the weighted average technique gave good color reproduction (the light colors).
Similar to the above problem, it has been noted that often, after a change in process parameters due to time, change of materials, refilling toner, etc., a change in calibration is required only in a portion of the overall color gamut of a printer. Re-calibration of the entire space is costly in terms of processing time. It is desirable to only re-calibrate a portion of the color space, or alternatively, to use the best portions of the color space mapping.
Further, we have found that when an independently calibrated scanner is put together with an independently calibrated printer, certain reproduction artifacts turn up in the copy. These include contouring artifacts that appear in certain types of copied images, such as skin tones and sky tones. Such artifacts are quite common if the input and output devices have been calibrated using different standard spaces, e.g., a scanner may be calibrated to be linear with respect to luminance while a printer may be calibrated to be linear with respect to ink density.
Therefore, it is an object of the present invention to overcome the aforementioned problems.
It is an object to provide a calibration system that effectively calibrates an input device/output device system where the input device and output device have been separately calibrated.
Another object is to provide an effective system for revising the color transformation LUTs for only those colors that present problems when the input and output device are combined, while maintaining the calibration for the balance of the color space.
A further object of the invention is to provide an effective system for reducing contouring artifacts that arise when a particular input device is combined with a particular output device.
Yet a further object of the invention is to provide a software program for performing the method of the present invention. The software program can be stand-alone, resident on the image processing unit of the present invention, recorded on media readable by the image processing unit or embodied on a carrier wave that can be input to the image processing unit.
The present invention is directed to a calibration system in which any one of a number of types of scanners can be combined by a customer with any one of a number of types of printers to form a color reproduction system. Since the scanner-type/printer-type combination is not known until the customer orders his system, color calibration is performed in two steps. Each type of scanner is calibrated alone and each type of printer is calibrated alone. Then, when the customer orders his combination, the selected scanner/printer combination is further calibrated as a unit. However, this further calibration is limited to certain colors in order to preserve as much as possible the original calibration of the individual units (scanner and printer) forming the combined system.
The first part of the color calibration is as follows. With reference to FIGS. 2A, 2B and 2C, the scanner 18 (e.g. a scanner representative of a type/model of scanners) is calibrated to form a 3D look-up-table (LUT) 40 that maps the scanner colors in a device dependent color space, e.g. RGB, to a device independent color space, e.g. Lab or XYZ (FIG. 2A). Similarly, the printer 30 (e.g. a printer representative of a type/model of printers) is calibrated to form a 3D LUT 42 that maps input colors in a device independent color space, e.g. Lab or XYZ, to a device dependent color space, e.g. RGB (FIG. 2B). In the printer calibration, the RGB values are also mapped in 3D LUT 44 to a device dependent color space suitable to a device that uses inks, e.g. CMYK. The resultant cmyk values are further individually mapped using 1D LUTs 46 to provide the cmyk values that drive the printer. The 3D LUT 44 is designed for a reference printer or canonical printer that is set up in the factory and is intended to represent and be the standard for a given type and model. The 1D LUTs 46 enable the user to adjust the color profile of his own printer which may vary slightly from the reference printer set up in the factory. In another implementation, the tables 3D LUT 42 and 3D LUT 44 may be combined as a single 3D LUT table that directly maps Lab to CMYK.
In theory, when the customer selects a scanner 18 type/model and printer 30 type/model, they can be combined with the various LUTs concatenated together (shown as block 50 in FIG. 2C) to provide a copier where an image can be scanned by the scanner and faithfully reproduced when printed by the printer. In practice, such a system works well for most colors. If a color is slightly lighter or darker than the original, for example, it usually is not that noticeable. However, in colors that are used to produce skin tones or the sky, for example, sharp gradients result in noticeable contours in the reproduced image. In facial images, for example, since there are gradual color changes throughout the original facial image, if a reproduced color dot is slightly lighter than the original and a near reproduced dot is slightly darker then the original, then the contrast is magnified and the gradual color changes are no longer smooth but instead are represented as contour lines. Sharp gradients in smooth color regions typically represent areas of the color space that do not have enough bits to represent visually distinct colors. Contours visible in these regions may be reduced or eliminated by locally adjusting the number of bits allocated to represent different regions in color space.
The present invention is directed to reducing the contouring effect that results when combining the scanner and printer that have not been calibrated in a closed loop. The contouring results from color quantization issues as explained in the previous paragraph. Color quantization can be altered by adjusting the LUTs present in the copier system. In the particular scenario illustrated in FIGS. 2A through 2C, the three LUT tables involved are: (a) the mapping from scanner RGB space to printer RGB space, (b) the RGB to CMYK mapping table, and (c) the 1D CMYK LUTs.
The present invention reduces the problem of contouring in a two-part process. In the first part, we identify the colors that will make up the skin tones or sky tones, etc. These are the areas of concern where contours will be visible. We do this empirically by test printing a number of images with faces, sky, etc. to identify the colors that lie in the facial or sky regions where contouring is observed. We then locate those colors in the RGB color space of the scanner. Next we map those colors from scanner RGB color space to printer RGB color space. In order to reduce contouring we need to ensure that those points of interest in the printer RGB color space have no large transitions with their neighbors, i.e. the transitions should be smooth.
To ensure smoothness in the color regions of interest, we identify the nodes in the printer RGB color space LUT that bound the areas in which the colors of interest fall. We then apply iterative low pass filtering to these nodes and their neighboring nodes. Basically, the nodes are moved until they are nearly in the center of their neighbors. The low pass filtering is applied iteratively until the nodes of interest are acceptably well centered. This ensures that, for those colors that appear in image areas where contouring is noticeable to the viewer, the LUT table entries that form the cubes encompassing those colors will be fairly equidistant from their neighboring entries. The LUT entries for all other colors remain unchanged. This results in a modified or corrected printer RGB LUT.
The second part of the process is to pass all the colors of interest through the corrected printer RGB 3D LUT and then through the RGB-to-CMYK 3D LUT to identify all the CMYK values that correspond to the colors of interest (i.e. skin tones or sky colors). We then identify the nodes in the printer 1D CMYK LUTs that bound the areas in which the colors of interest fall. We then apply iterative low pass filtering to these nodes and their neighboring nodes. Again, the nodes are basically moved so that they are nearly in the center of their neighbors. The low pass filtering is applied iteratively until the nodes of interest are acceptably well centered. This ensures that, for those colors that appear in image areas where contouring is noticeable to the viewer, the 1D LUT table entries for those colors will be fairly equidistant from their neighboring entries. The 1D LUT entries for all other colors remain unchanged. This results in a modified or corrected printer C, M Y, and K color space.
The overall result is an improvement in the reproduction quality of the color copier system formed by a scanner/printer combination.
The present invention includes a software program for performing the method of improved color reproduction quality. The software program can be stand-alone, resident on the image processing unit of the present invention, recorded on media readable by the image processing unit or embodied on a carrier wave that can be input to the image processing unit.
Other objects and attainments together with a fuller understanding of the invention will become apparent and appreciated by referring to the following description and claims taken in conjunction with the accompanying drawings.